package com.ly.heart.domain;

import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ly.common.annotation.Excel;
import com.ly.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * new调拨单对象 erp_king_allocate_info
 *
 * @author wutao
 * @date 2024-08-07
 */
@TableName("erp_king_allocate_info")
@ApiModel(value = "erp_king_allocate_info调拨对象", description = "调拨单")
@Data
public class KingAllocateInfoEntity extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 调拨单主键id
     */
    @TableId(value = "id", type = IdType.INPUT)
    private String id;

    /**
     * 单据编号
     */
    @Excel(name = "单据编号")
    @ApiModelProperty("单据编号")
    @TableField("doc_code")
    private String docCode;

    /**
     * 调出货主类型(0调拨类型1供应商2客户)
     */
    @ApiModelProperty("调出货主类型(0调拨类型1供应商2客户)")
    @TableField("out_owner_type")
    @Excel(name = "调出货主类型(0调拨类型1供应商2客户)")
    private String outOwnerType;

    /**
     * 日期
     */
    @ApiModelProperty("日期")
    @TableField("allocate_date")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date allocateDate;

    /**
     * 调拨类型(0组织内调拨)
     */
    @ApiModelProperty("日期")
    @TableField("allocate_type")
    @Excel(name = "调拨类型(0组织内调拨)")
    private String allocateType;

    /**
     * 调入货主
     */

    @ApiModelProperty("调入货主")
    @TableField("in_allocate_owner")
    @Excel(name = "调入货主")
    private String inAllocateOwner;

    /**
     * 调出库存组织
     */
    @ApiModelProperty("调出库存组织")
    @TableField("out_allocate_org")
    @Excel(name = "调出库存组织")
    private String outAllocateOrg;

    /**
     * 库存组
     */
    @ApiModelProperty("库存组")
    @TableField("inventory_group")
    @Excel(name = "库存组")
    private String inventoryGroup;

    /**
     * 调拨方向
     */
    @ApiModelProperty("调拨方向")
    @TableField("allocate_direction")
    @Excel(name = "调拨方向")
    private String allocateDirection;

    /**
     * 调出货主类型
     */
    @ApiModelProperty("调出货主类型")
    @TableField("in_owner_type")
    @Excel(name = "调出货主类型")
    private String inOwnerType;

    /**
     * 调入部门
     */
    @ApiModelProperty("调入部门")
    @TableField("in_allocate_dept")
    @Excel(name = "调入部门")
    private String inAllocateDept;

    /**
     * 仓管员
     */
    @ApiModelProperty("仓管员")
    @TableField("warehouse_operator")
    @Excel(name = "仓管员")
    private String warehouseOperator;

    /**
     * 业务类型
     */
    @ApiModelProperty("业务类型")
    @TableField("business_type")
    @Excel(name = "业务类型")
    private String businessType;

    /**
     * 调入库存组织
     */
    @ApiModelProperty("调入库存组织")
    @TableField("in_allocate_org")
    @Excel(name = "调入库存组织")
    private String inAllocateOrg;

    /**
     * 单据类型
     */
    @ApiModelProperty("单据类型")
    @TableField("king_doc_type")
    @Excel(name = "单据类型")
    private String kingDocType;

    /**
     * 调出货主
     */
    @ApiModelProperty("调出货主")
    @TableField("out_allocate_owner")
    @Excel(name = "调出货主")
    private String outAllocateOwner;

    /**
     * 调出部门
     */
    @ApiModelProperty("调出部门")
    @TableField("out_allocate_dept")
    @Excel(name = "调出部门")
    private String outAllocateDept;

    /**
     * 状态0审批中2审批通过
     */
    @ApiModelProperty("状态0审批中2审批通过")
    @TableField("state")
    @Excel(name = "状态0审批中2审批通过")
    private String state;

    /**
     * 实例id
     */
    @Excel(name = "实例id")
    @ApiModelProperty("实例id")
    @TableField("instance_id")
    private String instanceId;

    /**
     * 是否启用(1是2否)
     */
    @ApiModelProperty("是否启用(1是2否)")
    @TableLogic
    @Excel(name = "是否启用(1是2否)")
    private String isUsed;

    @ApiModelProperty("流程模型id")
    @TableField (exist = false)
    private String modelId;


    @TableField(exist = false)
    private List<KingAllocateDetailEntity> kingAllocateDetailEntityList;
}
